শিক্ষাপ্রতিষ্ঠান, ব্যবসায় প্রতিষ্ঠান, অফিস-আদালত, এমনকি আমাদের নিজেদের ঘর-গেরস্থালির কাজেও আমাদেরকে নানান রকম তথ্য নিয়ে কাজ করতে হয়। স্কুল-কলেজের কথাই চিন্তা করা যাক। শিক্ষার্থী ভর্তি, ক্লাস রুটিন তৈরি, শিক্ষার্থীদের উপস্থিতি, পরীক্ষার রুটিন তৈরি, পরীক্ষার ফলাফল প্রকাশ ও সংরক্ষণ, শিক্ষার্থীদের বেতনের হিসেব রাখা ইত্যাদি নানান কাজেই অনেক তথ্য তৈরি ও সংরক্ষণের প্রয়োজন হয়। যুগ যুগ ধরে মানুষ খাতা-কলমের মাধ্যমেই এসব হিসাব করে আসছে। কিন্তু কম্পিউটারের আবির্ভাব এসব কাজকে মানুষের জন্য সহজ করে দিয়েছে। কম্পিউটারের তথ্য ধারণ, সংরক্ষণ ও প্রক্রিয়াকরণের ক্ষমতা মানুষের চেয়ে অনেক অনেক বেশি। আর এই ক্ষমতাকে কাজে লাগিয়ে মানুষ এমন সফটওয়্যার তৈরি করেছে যা বিপুল পরিমাণ তথ্য ধারণ করতে পারে, সংরক্ষণ করতে পারে এবং সেসব তথ্য বিশ্লেষণ করে প্রয়োজনীয় প্রশ্নের উত্তরও দিতে পারে।
ধরা যাক, অসুস্থতা এবং অন্য কোনো কারণে একজন শিক্ষার্থীকে মাঝে মাঝে স্কুলে অনুপস্থিত থাকতে হয়েছে। তার অভিভাবক জানতে চান শিক্ষার্থীটি গত তিন মাসে ঠিক কতদিন স্কুলে ছিল। এই কাজটি করার জন্য তাঁকে স্কুলে যেতে হবে, তারপর তাঁর সন্তানের যেসব শিক্ষক আছেন, তাদের সঙ্গে দেখা করতে হবে। শিক্ষকেরা তখন গত তিন মাসের হাজিরা খাতা বের করবেন। সেই খাতা থেকে খুঁজে দেখবেন ওই শিক্ষার্থী কতদিন ক্লাসে উপস্থিত ছিল, পুরোটাই খুবই সময়সাপেক্ষ কাজ। কিন্তু ওই স্কুলে যদি সব তথ্য ব্যবস্থাপনার কাজ একটি কম্পিউটারে ডেটাবেজ ম্যানেজমেন্ট সফটওয়্যারের মাধ্যমে করা হতো, তাহলে এই তথ্য এক সেকেন্ডের মধ্যেই বের করা সম্ভব হতো। তথ্য সংরক্ষণ করার কাজটি করে ডেটাবেজ আর সেই ডেটাবেজকে ঠিকমতো পরিচালনা করার জন্য যে সফটওয়্যার, তাকেই বলা হয় ডেটাবেজ ম্যানেজমেন্ট সিস্টেম।
কম্পিউটারের প্রোগ্রাম যখন কোনো ডেটা নিয়ে কাজ করে, সেই ডেটা অস্থায়ী মেমোরিতে লোড করে তারপর কাজ করে। এই অস্থায়ী মেমোরিকে বলা হয় র্যাম (RAM)। কম্পিউটার বন্ধ হয়ে গেলে র্যাম থেকে ডেটা মুছে যায়। আবার প্রোগ্রাম বন্ধ করে দিলেও প্রোগ্রাম র্যাম-এর ডেটার নিয়ন্ত্রণ হারিয়ে ফেলে। তাই যেসব তথ্য সংরক্ষণের দরকার হয়, সেগুলোকে স্থায়ী মেমোরি, যেমন—হার্ড ডিস্কে সংরক্ষণ করা হয়। হার্ড ডিস্কের যেসব ডেটা আমরা ব্যবহার করি, সেগুলোকে ফাইল (file) নামক একটি ব্যবস্থার মাধ্যমে আমরা অ্যাকসেস করি। যেমন— একটি টেক্সট ফাইলে আমরা বিভিন্ন তথ্য লিখে সেভ করে রাখতে পারি। তারপরে চাইলে কম্পিউটার বন্ধ করে দিতে পারি। আবার যখন কম্পিউটার চালু করব, তখন চাইলে সেই ফাইলটি খুলে আগে লেখা তথ্য দেখতে পারি।
কম্পিউটারকে যখন মানুষ বিভিন্ন তথ্য সংরক্ষণ করার কাজে ব্যবহার করা শুরু করল, তখন বিভিন্ন প্রোগ্রাম লেখা হতো, যেগুলো তথ্য প্রক্রিয়াকরণের পরে ফাইলে সংরক্ষণ করত। সেই ফাইলের তথ্য পরিবর্তন বা তথ্য নিয়ে অন্য কোনো কাজ করতে হলে আবার নতুন প্রোগ্রাম লিখে কাজগুলো করতে হতো। যেমন ধরা যাক, একটি অ্যাড্রেস বুক ( address book), যেখানে বিভিন্নজনের নাম, ঠিকানা, ফোন নম্বর ইত্যাদি তথ্য সংরক্ষিত থাকবে এবং প্রয়োজন অনুসারে সেই তথ্য খুঁজে বের করা যাবে। তাহলে নতুন তথ্য যোগ করার (একে ডেটা এন্ট্রি— data entry বলা হয়) জন্য প্রোগ্রাম লিখতে হবে। তথ্য খুঁজে বের করার জন্যও প্রোগ্রাম লিখতে হবে। এখন কেউ যদি বলে ফোন নম্বরের পর ইমেইল ঠিকানাও সংরক্ষণ করতে হবে, তখন আবার ডেটা এন্ট্রি করার প্রোগ্রামটি এবং বাকি সব প্রোগ্রাম পরিবর্তন করতে হবে। তারপর ধরা যাক, কেউ বলল, নাম দিয়ে কারো তথ্য খুঁজে বের করার পাশাপাশি ইমেইল ঠিকানা দিয়েও খোঁজার ব্যবস্থা রাখতে হবে, তখন আবার নতুন ফাংশন লিখতে হবে। এভাবে তথ্য ব্যবস্থাপনার কাজটি বেশ জটিল ও প্রোগ্রামারদের জন্য পরিশ্রমসাধ্য হয়ে যায়। ডেটাবেজ ম্যানেজমেন্ট সফটওয়্যার সেই কাজটি খুব সহজ করে দেয়।
আক্ষরিক অর্থে, ডেটাবেজ হচ্ছে ডেটার সমাহার, অর্থাৎ যেখানে অনেক ডেটা থাকে। তবে সফটওয়্যারের জগতে ডেটাবেজ হচ্ছে এমন একটি সফটওয়্যার যেখানে প্রচুর পরিমাণ তথ্য একসঙ্গে সংরক্ষণ করা যায়, দরকারি তথ্য বের করা যায়, নতুন তথ্য যোগ করা যায় এবং প্রয়োজনমতো কোনো তথ্য পরিবর্তন, পরিবর্ধন ও মুছে ফেলা যায়। আর সেই ডেটাবেজকে সুষ্ঠুভাবে পরিচালনা করার জন্য কিছু প্রোগ্রাম বা সফটওয়্যার মিলেই গঠিত হয় ডেটাবেজ ম্যানেজমেন্ট সিস্টেম।
ডেটাবেজকে মোটাদাগে দুভাগে ভাগ করা যায় : রিলেশনাল ডেটাবেজ ( Relational Database) ও নোএসকিউএল (NoSQL)। রিলেশনাল ডেটাবেজের ধারণা প্রায় ৫০ বছর আগের, তবে এখনো এটি সবচেয়ে বেশি ব্যবহৃত ও গুরুত্বপূর্ণ ডেটাবেজ। আর নোএসকিউএল ডেটাবেজ অপেক্ষাকৃত নতুন এবং বেশ কিছু ক্ষেত্রে, বিশেষ করে ওয়েবভিত্তিক বিভিন্ন অ্যাপ্লিকেশনে এর ব্যবহার দিন দিন বাড়ছে। তবে বিভিন্ন সীমাবদ্ধতার কারণে নোএসকিউএল সবক্ষেত্রে ব্যবহার করা সম্ভব হয় না।